Hier sind meine Anweisungen: Unten finden Sie eine Liste von Zeichenfolgen, die alle Zustände darstellen. Schreiben Sie einen Code, der ihn durchläuft und die Anzahl der US-Bundesstaaten zählt, deren Name mit einem Vokal beginnt ("Alabama" oder "Ohio"). Weisen Sie diesen Wert einer Variablen mit dem Namen vowel_state_names zu.

Dies ist der Code, den ich geschrieben habe, aber ich weiß, dass er für die Aufgabe nicht korrekt ist. Hier ist mein Code:

states = [
        'Alaska', 'Alabama', 'Arkansas', 'Arizona', 'California', 'Colorado', 
        'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 
        'Iowa', 'Idaho', 'Illinois', 'Indiana', 'Kansas', 'Kentucky', 'Louisiana', 'Massachusetts', 
        'Maryland', 'Maine', 'Michigan', 'Minnesota', 'Missouri', 
        'Mississippi', 'Montana', 'North Carolina', 'North Dakota', 'Nebraska', 'New Hampshire', 
        'New Jersey', 'New Mexico', 'Nevada', 'New York', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 
        'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 
        'Virginia', 'Vermont', 'Washington', 'Wisconsin', 'West Virginia', 'Wyoming' 
         ]

vowel_state_names = []
for names in states:
  startswithvowel = False  # rather than try to prove starts with vowel
  if 'a' in names:
    if 'e' in names:
      if 'i' in names:
        if 'o' in names:
          if 'u' in names:
            if 'y' == names[-1]:
              hasAllVowels = True
  if startswithvowel:
    vowel_state_names.append( word )
print( vowel_state_names )
1
Temple Fugate 24 Feb. 2020 im 06:55

4 Antworten

Beste Antwort

Sie können es im folgenden Format versuchen.

states = [
        'Alaska', 'Alabama', 'Arkansas', 'Arizona', 'California', 'Colorado',
        'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
        'Iowa', 'Idaho', 'Illinois', 'Indiana', 'Kansas', 'Kentucky', 'Louisiana', 'Massachusetts',
        'Maryland', 'Maine', 'Michigan', 'Minnesota', 'Missouri',
        'Mississippi', 'Montana', 'North Carolina', 'North Dakota', 'Nebraska', 'New Hampshire',
        'New Jersey', 'New Mexico', 'Nevada', 'New York', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania',
        'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah',
        'Virginia', 'Vermont', 'Washington', 'Wisconsin', 'West Virginia', 'Wyoming'
         ]
State_names=[]
vowels = ['a','e','i','o','u','A','E','I','O','U']
for names in states:
    if names[0] in vowels:
        State_names.append(names)
print(State_names)

1
Saisiva A 24 Feb. 2020 im 04:17

Verwenden Sie Regex

import re


states = [
        'Alaska', 'Alabama', 'Arkansas', 'Arizona', 'California', 'Colorado',
        'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
        'Iowa', 'Idaho', 'Illinois', 'Indiana', 'Kansas', 'Kentucky', 'Louisiana', 'Massachusetts',
        'Maryland', 'Maine', 'Michigan', 'Minnesota', 'Missouri',
        'Mississippi', 'Montana', 'North Carolina', 'North Dakota', 'Nebraska', 'New Hampshire',
        'New Jersey', 'New Mexico', 'Nevada', 'New York', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania',
        'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah',
        'Virginia', 'Vermont', 'Washington', 'Wisconsin', 'West Virginia', 'Wyoming'
         ]

Vowel_State_names=[]
regex = '^[aeiouAEIOU][A-Za-z0-9_]*'

for names in states:
    if (re.search(regex, names)):
        Vowel_State_names.append(names)

print(Vowel_State_names)
0
Asbah Riyas 24 Feb. 2020 im 04:09

Ich bin auch ein Neuling in Python, aber überprüfen Sie, ob dies funktioniert:

vowel_state_names = []
vowels = ['A','E','I','O','U']
for names in states:
   for i in vowels:
      if names.startswith(i):
         Vowel_State_names.append(names)
print(vowel_state_names)

["Alaska", "Alabama", "Arkansas", "Arizona", "Iowa", "Idaho", "Illinois", "Indiana", "Ohio", "Oklahoma", "Oregon", "Utah"]

0
Asbah Riyas 24 Feb. 2020 im 06:02

Oder verwenden Sie einfach sum, wenn Sie wissen möchten, wie Viele Staaten beginnen damit:

sum(1 for state in states if state[0] in frozenset(('A', 'E', 'I', 'O', 'U')))

Verwenden Sie denselben Generator, um die Namen zu erhalten, und ersetzen Sie 1 durch state:

tuple(state for state in states if state[0] in frozenset(('A', 'E', 'I', 'O', 'U')))
0
A T 24 Feb. 2020 im 04:11